/**
 * 暴露数据 - exports
 *
 * 一、通过 define 可以暴露数据 ---- (不常用)
 *   一个参数
 *   二个参数
 *   三个参数
 */
// define(111)
// define('hello')
// define(true)
// define([10, 20])
// define({age: '10岁'})
// define(function () {})

// -----------------------------------------------------
// 常用的是 define(function(require, exports, module){})
//     在这个回调函数中，该怎么暴露接口数据
define(function (require, exports, module) {
  // 1、 使用 exports 去暴露接口
  exports.age = 18

  // exports = {} 不可直接复制，不予许 (可看3)
  // 原因: 改变对象的 指针

  console.log('module=', module)
  // 2、module.exports
  module.exports.name = 'srxboys'

  // 3、直接改变 module.exports的值, 允许
  // module.exports = true
  // // exports.b = 'hellow' 在改变后，就不可以使用 exports了

  // 返回一个函数
  module.exports = function () {
    return [10, 20, 30]
  }
})

// 不常用
// define(function (require, exports, module) {
//   // return 123
//   return {name: 'hello'}
// })